Level 3
Link Syllabus: Xem chi tiết tại đây
SYLLABUS CHI TIẾT KHÓA HỌC FLUTTER LEVEL 3
TÍCH HỢP BACKEND + API + AI TRONG LẬP TRÌNH FLUTTER
Thời lượng: 27 buổi
MỤC TIÊU KHÓA HỌC
Sau khi hoàn thành khóa học, học viên sẽ:
- Thành thạo tích hợp Backend (REST API, GraphQL, WebSocket, Firebase) vào ứng dụng Flutter.
- Hiểu và triển khai Authentication (JWT, OAuth2), lưu trữ dữ liệu với Firestore, SQLite, Hive.
- Tích hợp AI vào Flutter (OCR, Face Recognition, Speech to Text, Chatbot AI, Object Detection).
- Xây dựng ứng dụng real-time với Firebase Cloud Firestore & WebSocket.
- Quản lý trạng thái chuyên sâu với Provider, Riverpod, BLoC.
- Hiểu cách xây dựng backend cơ bản với Node.js + Express.
- Biết cách test, tối ưu hiệu năng và deploy ứng dụng lên Google Play & App Store.
ĐỐI TƯỢNG HỌC VIÊN
- Lập trình viên Flutter đã có kiến thức cơ bản, muốn nâng cao kỹ năng tích hợp Backend & AI.
- Mobile Developer muốn phát triển ứng dụng Flutter có giao tiếp với API & Backend.
- Backend Developer muốn học cách tích hợp API vào ứng dụng Flutter.
- AI Enthusiast muốn tìm hiểu cách ứng dụng AI (Machine Learning, Chatbot, Face Recognition) vào mobile app.
- Sinh viên / Freelancer muốn xây dựng ứng dụng di động thực tế với API & AI.
Lưu ý: Khóa học này không phù hợp với người mới bắt đầu Flutter từ con số 0, vì yêu cầu nền tảng Flutter cơ bản trước khi học.
PHẦN 1: GIỚI THIỆU VÀ CHUẨN BỊ (BUỔI 1 - 3)
Buổi 1: Tổng quan khoá học & kiến trúc ứng dụng Flutter với Backend
- Lộ trình khóa học.
- Kiến trúc ứng dụng Flutter khi kết hợp Backend.
- Các mô hình phổ biến: REST API, GraphQL, WebSocket, Firebase.
- Tổng quan về cách Flutter gọi API.
- Bài tập: Nghiên cứu và vẽ sơ đồ kiến trúc backend cho một ứng dụng thực tế.
Buổi 2: Thiết lập môi trường & Công cụ phát triển
- Cài đặt Flutter SDK, Dart SDK.
- Giới thiệu Postman, Insomnia để test API.
- Tạo dự án Flutter mới.
- Giới thiệu các thư viện cần thiết: http, dio, provider, flutter_bloc, firebase_core, google_mlkit,...
- Bài tập: Tạo dự án Flutter mới với màn hình đơn giản và kiểm tra log khi chạy.
Buổi 3: Ôn tập Dart nâng cao & lập trình hướng đối tượng
- Extension, Mixin, Generic.
- Future, Stream, async-await.
- Xây dựng lớp Model từ JSON.
- Bài tập: Viết 1 class Dart sử dụng Generic và Future.
PHẦN 2: GIAO TIẾP VỚI BACKEND QUA API (BUỔI 4 - 10)
Buổi 4: Giao tiếp với RESTful API bằng thư viện http
- Hiểu về REST API (GET, POST, PUT, DELETE).
- Cấu trúc API response.
- Gọi API từ Flutter với http.
- Xử lý lỗi khi gọi API.
- Bài tập: Gọi API công khai (ví dụ JSONPlaceholder) và hiển thị dữ liệu.
Buổi 5: Sử dụng Dio để gọi API nâng cao
- So sánh dio và http.
- Cấu hình Dio Interceptors.
- Thực hiện Request có Header, Authorization.
- Xử lý timeout, retry request.
- Bài tập: Tích hợp Dio vào Flutter app, thêm Header cho request.
Buổi 6: Authentication với API (JWT, OAuth2)
- Giới thiệu JWT.
- Đăng nhập & đăng ký qua API.
- Lưu trữ token bằng SharedPreferences hoặc Hive.
- Refresh token tự động.
- Bài tập: Xây dựng màn hình đăng nhập với API authentication.
Buổi 7: Tích hợp WebSocket & Socket.io
- Hiểu về WebSocket và cách hoạt động.
- Kết nối WebSocket trong Flutter.
- Tạo ứng dụng chat đơn giản với WebSocket.
- Bài tập: Xây dựng ứng dụng chat real-time đơn giản.
Buổi 8: Tích hợp GraphQL API
- Sự khác biệt giữa REST API và GraphQL.
- Cấu trúc query, mutation trong GraphQL.
- Gọi API GraphQL trong Flutter.
- Bài tập: Gọi API từ một GraphQL server có sẵn.
Buổi 9: Pagination và Infinite Scroll với API
- Cách API hỗ trợ phân trang (offset, limit, cursor-based).
- Load dữ liệu vô hạn với ListView.builder.
- Lazy Loading với flutter_bloc.
- Bài tập: Thực hiện phân trang danh sách sản phẩm.
Buổi 10: Bảo mật API & Xử lý lỗi nâng cao
- Các kỹ thuật bảo mật API (HTTPS, SSL Pinning).
- Xử lý lỗi API và hiển thị lỗi thân thiện với người dùng.
- Bài tập: Cài đặt SSL Pinning trên Flutter app.
PHẦN 3: BACKEND REAL-TIME VỚI FIREBASE (BUỔI 11 - 15)
Buổi 11: Tích hợp Firebase vào Flutter
- Cấu hình Firebase trên iOS & Android.
- Quản lý trạng thái người dùng với Firebase Auth.
- Đăng nhập bằng Google, Facebook.
- Bài tập: Đăng nhập bằng Google hoặc Facebook.
Buổi 12: Firestore Database – CRUD dữ liệu
- So sánh Firestore với Realtime Database.
- Tạo, đọc, cập nhật, xóa dữ liệu trên Firestore.
- Stream dữ liệu real-time từ Firestore.
- Bài tập: Xây dựng CRUD với Firestore.
Buổi 13: Firebase Cloud Messaging (FCM) – Push Notification
- Cấu hình FCM trên Android và iOS.
- Gửi thông báo từ server đến app.
- Xử lý thông báo nền & foreground.
- Bài tập: Gửi thông báo đẩy từ Firebase.
Buổi 14: Firebase Storage – Upload & Download File
- Tải lên ảnh, video từ thiết bị lên Firebase Storage.
- Tạo link truy cập công khai và bảo mật file.
- Bài tập: Upload ảnh lên Firebase Storage.
Buổi 15: Cloud Functions – Xử lý nghiệp vụ trên Backend Serverless
- Viết Cloud Functions để xử lý logic backend.
- Gửi thông báo đẩy từ Cloud Functions.
- Bài tập: Viết một Cloud Function gửi thông báo khi có dữ liệu mới.
PHẦN 4: ỨNG DỤNG AI TRONG FLUTTER (BUỔI 16 - 21)
Buổi 16: Nhận diện văn bản với Google ML Kit OCR
- Giới thiệu Google ML Kit.
- Scan và nhận diện văn bản từ hình ảnh.
- Bài tập: Xây dựng ứng dụng scan văn bản.
Buổi 17: Nhận diện khuôn mặt bằng ML Kit
- Phát hiện khuôn mặt từ camera.
- Lưu dữ liệu khuôn mặt & ứng dụng vào đăng nhập bằng FaceID.
- Bài tập: Phát hiện khuôn mặt từ camera.
Buổi 18: Nhận diện giọng nói & Speech to Text
- Tích hợp Google Speech Recognition.
- Chuyển đổi giọng nói sang văn bản.
- Bài tập: Xây dựng ứng dụng ghi âm và chuyển giọng nói thành văn bản.
Buổi 19: Chatbot AI với OpenAI GPT API
- Tích hợp OpenAI API để tạo chatbot.
- Gửi tin nhắn & nhận phản hồi từ AI.
- Bài tập: Xây dựng chatbox AI với GPT API.
Buổi 20: Dự đoán & phân loại hình ảnh với TensorFlow Lite
- Sử dụng mô hình pre-trained để phân loại hình ảnh.
- Triển khai model AI trên ứng dụng Flutter.
- Bài tập: Ứng dụng nhận diện chó/ mèo từ ảnh.
Buổi 21: AI Camera – Ứng dụng nhận diện vật thể
- Tích hợp AI camera nhận diện vật thể trong thời gian thực.
- Bài tập: Xây dựng ứng dụng nhận diện vật thể real-time.
PHẦN 5: DỰ ÁN THỰC TẾ VÀ TRIỂN KHAI (BUỔI 22 - 27)
Buổi 22: Xây dựng API Backend với Node.js + Express (Bonus)
- Tạo REST API bằng Node.js.
- Kết nối với MongoDB hoặc PostgreSQL.
- Bài tập: Tạo một API Node.js cơ bản.
Buổi 23: Hoàn thiện tính năng chính của ứng dụng
- Tích hợp API, Firebase, AI vào ứng dụng.
- Hoàn thiện UI/UX.
- Bài tập: Hoàn thiện ứng dụng tích hợp API, Firebase, AI.
Buổi 24: Quản lý trạng thái với Provider, Riverpod, BLoC
- So sánh các phương pháp quản lý trạng thái.
- Thực hành triển khai state management.
- Bài tập: Chuyển đổi một màn hình Flutter từ setState sang Provider hoặc BloC.
Buổi 25: Testing & Debugging ứng dụng Flutter
- Viết Unit Test, Widget Test.
- Debugging & Performance Optimization.
- Bài tập: Viết Unit Test cho API service.
Buổi 26: Build & Deploy ứng dụng lên Google Play & App Store
- Cấu hình CI/CD với Codemagic hoặc GitHub Actions.
- Build APK, IPA & publish lên Google Play, App Store.
- Bài tập: Build APK/IPA và chạy thử trên thiết bị thật.
Buổi 27: Tổng kết khóa học & Định hướng phát triển
- Review dự án cá nhân.
- Định hướng nghề nghiệp: Flutter Developer, Mobile AI Engineer.
- Chia sẻ kinh nghiệm & tài liệu học tập nâng cao.
THE END